(computer science) a program that determines how a computer will communicate with a peripheral device